package com.meteor.vo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import com.meteor.entity.Building;
import com.meteor.entity.Community;
import com.meteor.entity.Room;
import com.meteor.entity.Unit;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author lynn
 * @date 2024/1/26
 */

@Data
public class MalfunctionVO implements Serializable, TransPojo {

    @Schema(description = "故障内容")
    private String content;

    @Schema(description = "处理人id")
    private String disposeUser;

    @Schema(description = "处理人姓名")
    private String disposeUserName;

    @Schema(description = "id")
    private String id;

    @Schema(description = "故障状态 0=未处理 1=处理中 2=已完成")
    private Integer malfunctionStatus;

    @Schema(description = "类型 1=家用电器  2=其他")
    private String type;

    @Schema(description = "组织id")
    private String orgId;

    @Schema(description = "组织名称")
    private String orgName;

    @Schema(description = "商户id")
    private String merchantId;

    @Schema(description = "商户名称")
    private String merchantName;

    @Schema(description = "社区id")
    @Trans(type = TransType.SIMPLE, target = Community.class, fields = "communityName", ref = "communityName")
    private String communityId;

    @Schema(description = "社区名称")
    private String communityName;

    @Schema(description = "联系人名称")
    private String connectName;

    @Schema(description = "联系人电话")
    private String connectPhone;

    @Schema(description = "报修时间")
    private String doorTime;

    @Schema(description = "报修图片")
    private List<String> imagesUrl;

    @Schema(description = "报修图片")
    private String url;

    @Schema(description= "房间id")
    @Trans(type = TransType.SIMPLE, target = Room.class, fields = "roomName", ref = "roomName")
    private String roomId;

    @Schema(description= "房间名称")
    private String roomName;

    @Schema(description= "楼栋id")
    @Trans(type = TransType.SIMPLE, target = Building.class, fields = "buildingName", ref = "buildingName")
    private String buildingId;

    @Schema(description= "楼栋名称")
    private String buildingName;

    @Schema(description= "单元id")
    @Trans(type = TransType.SIMPLE, target = Unit.class, fields = "unitName", ref = "unitName")
    private String unitId;

    @Schema(description= "单元名称")
    private String unitName;

}
